1. Field of the Invention
The present invention relates to an information processing apparatus, a control method, and a recording medium, and particularly to a technology for performing function approximation of curves.
2. Description of the Related Art
In the field of computer graphics (CG), specific video scenes or the like are generated by defining an animation sequence (motion) with regard to formed models. Since animation generation using models is complex, in recent years the movement of real people, animals and the like have been incorporated and appropriated with motion capture systems.
In a motion capture system, markers are arranged at points where movement is to be captured, and these markers are captured at a predetermined frame rate with a plurality of cameras. The captured results are then integrated and motion capture data is generated as continuous data of three-dimensional positions or rotations of each point.
Since motion capture data generated in this way has the positions or rotations of each point for every frame, there is generally a large amount of information. That is, allocating this data as animation sequences of models can lead to an increase in the amount of data processing required in editing and an increase in the amount of data of packages such as games. Thus, a method of reducing the amount of information by approximating motion capture data with suitable basis spline curves (hereinafter, B-splines) is used, such as in Japanese Patent Laid-Open No. 11-272879.
A B-spline is defined by an interval polynomial in which internal knots are set in the time direction of the motion capture data, and a basis function is defined for each interval partitioned by the knots. There are uniform B-splines whose internal knots are arranged so as to divide the time direction equidistantly, and nonuniform B-splines whose internal knots are arranged freely. Nonuniform B-splines are used in the case of data that can include fast and slow movement such as motion capture data, since it is desirable to provide internal knots in a more concentrated manner in a dynamic sequence having a high frequency component in the time direction than in a static sequence having a low frequency component.
In Japanese Patent Laid-Open No. 11-272879, first internal knots are set at the start and end points, maximum and minimum points, local maximum and minimum points, inflection points, and local minimum points of the radius of curvature, and then after setting parameters at which the least-squares error is minimized for each interval, the knots are arranged using a technique according to which the internal knots are increased or decreased according to this error. However, the arrangement and number of knots that are arranged with a method such as Japanese Patent Laid-Open No. 11-272879 may possibly not be optimized. That is, there is an increase in the number of knots and the number of control points, possibly resulting in the data compression efficiency of the motion capture data being low.
Generally, optimization of the arrangement of the internal knots and control points of a nonuniform B-spline results in a highly-nonlinear multimodal problem having a plurality of local and global solutions. In recent years, evolutionary computation methods such as genetic algorithms and artificial immune systems, particle swarm optimization and the like that are efficient and have stable computational amounts have been used, in order to optimize the arrangement of the internal knots and control points of nonuniform B-splines. However, with these techniques it is necessary to preset parameters that are not intuitive for the typical user who lacks technical knowledge. Specifically, in the case of genetic algorithms, such parameters that are not intuitive for the typical user include the number of genes, the number of genes to be screened, the probability of hybridization, and the probability of mutation evolution. Also, in the case of particle swam optimization, such non-intuitive parameters include the inertia constant and the percentage of particles that travel toward a favorable position. The user thus needs to change the parameters while repeatedly adjusting the parameters according to the approximation results.